package com.siwei.apply.service;

import com.siwei.apply.domain.res.TdhyhsRes;
import com.siwei.apply.domain.res.TdhyhsSinglRes;
import com.siwei.apply.domain.vo.TdhyhsUpdateVo;
import com.siwei.apply.domain.vo.TdhyhsVo;

/**
 * 土地核验与规划核实 服务接口
 */
public interface TdhyhsService {
    /**
     * 根据项目projectId查询是否存在
     */
    Boolean isExit(String projectId);

    /**
     * 添加土地核验与规划核实信息
     *
     * @param tdhyhsVo 土地核验与规划核实视图对象
     * @return 土地核验与规划核实ID
     */
    String add(TdhyhsVo tdhyhsVo);

    /**
     * 获取土地核验与规划核实信息
     *
     * @param projectId 项目ID
     * @return 土地核验与规划核实结果对象
     */
    TdhyhsRes get(String projectId);

    /**
     * 根据主键id获取土地核验与规划核实（单条），返回包含项目名称/代码的结构
     */
    TdhyhsSinglRes getById(String id);

    /**
     * 更新土地核验与规划核实信息
     *
     * @param tdhyhsUpdateVo 土地核验与规划核实更新视图对象
     */
    void update(TdhyhsUpdateVo tdhyhsUpdateVo);

    /**
     * 更新土地核验与规划核实的上链状态
     * @param id 主键ID
     * @param hasOnchain 是否上链
     */
    void updateHasOnchain(String id, Boolean hasOnchain);
}
